﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("Введите, каким по счёту в неделе первый день месяца");
            int firstDay = Int32.Parse(Console.ReadLine());
            Console.WriteLine("введите количество дней в месяце");
            int[,] calendarTemplate = CreateTwoDimArray(6, 7, firstDay, Int32.Parse(Console.ReadLine()));
            Console.Clear();
            Console.Write("пн\tвт\tср\tчт\tпт\tсб\tвс");
            Console.WriteLine();
            string[,] calendar = new string[6, 7];
            for (int i=0;i<6;i++)
            {
                for(int j=0;j<7;j++)
                {
                    calendar[i,j] = (calendarTemplate[i, j]).ToString();
                    if (calendarTemplate[i, j] == 0) calendar[i, j] = " ";
                }
            }
            PrintTwoDimensionalArray(calendar);
            Console.ReadKey();


        }
        static int[,] CreateTwoDimArray(int rowCount, int columnCount, int firstDay, int daysNumber)
        {
            int[,] calendarTemplate = new int[rowCount, columnCount];
            int day=1;
            for (int i = 0; i < rowCount; i++)
            {
                    for (int j = 0; j < columnCount; j++)
                    {
                    if ((i == 0 && j < firstDay - 1) == true)
                        calendarTemplate[i, j] =0;
                    else
                    {
                        calendarTemplate[i, j] = day;
                        if (day < daysNumber) day++;
                        else
                        {
                            j = rowCount;
                            i = rowCount;
                        }
                    }
                }
            }
            return calendarTemplate;
        }
        static void PrintTwoDimensionalArray(string[,] arrayForPrint)
        {
            for (int i = 0; i < arrayForPrint.GetLength(0); i++)
            {
                for (int j = 0; j < arrayForPrint.GetLength(1); j++)
                {
                    Console.Write("{0}\t", arrayForPrint[i, j]);
                }
                Console.WriteLine();
            }
        }
    }
}
